<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>3.姓名案例_计算属性get与set</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>

<body>
    <!-- 准备好一个容器-->
    <div id="demo">
        姓: <input type="text" v-model="firstName"> <br /><br>
        名: <input type="text" v-model="lastName"> <br /><br>
        全名: <span>{{fullName}}</span> <br><br>
        <button @click="changeFullName">将全名改为: Li-si</button>
    </div>
</body>

<script type="text/javascript">
    //阻止 vue 在启动时生成生产提示。
    Vue.config.productionTip = false
    const vm = new Vue({
        el:'#demo',
        data:{
            firstName:'zhang',
            lastName:'san'
        },
        methods:{
            changeFullName(){
                this.fullName = 'Li-si'
            }
        },
        computed: {
            fullName:{
               get(){
                   const {firstName,lastName} =this
                   return firstName[0].toUpperCase() + firstName.slice(1) + '-' + lastName 
               },
               set(val){
                    const arr =val.split('-')
                    this.firstName = arr[0].toLowerCase()
                    this.lastName = arr[1]
               }
            }
        }
    })
</script>

</html>